Exemplary implementations are directed to a method and system for providing a graphical user interface that allows users to model, update, and maintain charting data visualizations.
Conventional chart data visualizations, such as charts rendered by spreadsheet programs, financial analysis tools, and the like, are commonly used to graph and display data sets in a chart format. Charts are typically used to display data set comparisons, relationships, distributions, trends, compositions, flows, processes, locations, etc. Charts are usually formed to compare data containing two or more attributes related to the data, e.g., the number of employees and the salary ranges for employees.
Typically, to generate a chart, a user will select or enter the data and the attributes pertaining to the data entered, and then choose a particular chart type to display such as a pie chart, diagram, bubble chart, funnel chart, line chart, radar/polar chart, etc. Once the chart is generated the user can make changes to the chart through manual interaction with the charting program or the data.
Charting visualizations in modern enterprise applications promotes insight into business processes and a better experience for customers using data visualization applications. Generally, generating charts in development environments such as meta-driven and declarative development environments is difficult due to the use of data-binding operations which are used to associate data located in abstract data sources with user interface components. As such, the chart visualization development process is often disconnected, relying on the application developer's understanding of how to effectively chart data within their application flows, types of charts used, and what is the best type of chart to visualize their data. Unfortunately, while the developer may use test data in these types of environments to mock up the charts, the developer generally has little experience in creating meaningful charting data visualizations using actual data.
When developing chart data visualizations, an application developer is generally more concerned about the application flow and providing user interface components that are able to connect to the abstract data sets. For example, the developer may use a test data set to make sure that the conventional charting data visualization is working, not whether they will achieve an expected visualization using the actual data.
The problem is further exacerbated by the fact that to determine whether the visualization for a particular data set is as expected would require the application developer to build, deploy, and run a sufficient subset of the charting application. Such a proposition is time consuming and inefficient.
Some systems have attempted to solve the above using Graphical User Interfaces (GUIs) using predefined templates that rely on displaying data visualization such as data charts in a generic predetermined fashion. Unfortunately, such conventional graphical user interface development tools generally require that the user adapt to the chart data visualization templates, or make extensive modifications to the templates, which ultimately may not be acceptable for the developer's or end user's run-time data visualization needs.
Therefore, a new and improved graphical user interface and charting data visualization system is desired to overcome the above.